An IMS is a network architecture defined by the Third Generation Partnership Project (3GPP) and overlying a network in the circuit domain and the packet domain to provide a User Equipment (UE) with various services over an IP network.
The IMS involves primary function entities including a Call Session Control Function (CSCF) capable of UE registration control, session control, etc., and a Home Subscriber Server (HSS) for centralized management of UE subscription data. A user equipment accesses the IMS through a proxy node Proxy-Call Session Control Function (P-CSCF) in the domain where the UE is currently located and performs session and service trigger control through a Service-Call Session Control Function (S-CSCF) in the home domain.
Each UE who has subscribed for an IMS service is assigned with one or more IMS Private User Identities (IMPI) by a home network operator to be used for registration, authorization, management and charging and typically not to be open to the other UEs and is also provided with one or more IMS Public User Identities (IMPU) to be open to the other UEs and to be used for sessions of various services to identify himself or herself and another UE with whom he or she communicates.
Access flows of an IMS UE may include initial UE registration, renewed UE registration, UE de-registration, and network initiated renewed registration.
A UE initiated initial registration flow is as illustrated in FIG. 1:
a UE composes a REGISTER request message in the Session Initiation Protocol (SIP) from an IMPU, an IMPI, a Contact address and a home domain name stored in its own IMS Subscriber Identity Module (ISIM), where the register request message further includes the type and identifier information of an access network of the UE, information on an option of supported encryption and an integrity algorithm, and information on a port and a time-out period required to set up Security Association (SA) with a P-CSCF, and then transmits the register request message to a default address of the P-CSCF found by the UE during a finding process of P-CSCF;
upon reception of the register request message, the P-CSCF stores the identifier of the UE and other necessary information, makes a query about an address of an Interrogating-Call Session Control Function (I-CSCF) in the home domain of the UE according to the domain name of the home domain of the UE, and composes and then transmits a new REGISTER request message (including information on a visited network) to the address of the I-CSCF obtained from the query;
the I-CSCF inquires an HSS about the registration status of the UE according to the IMPI of the UE, and if the UE has not been registered, the I-CSCF may select an S-CSCF for processing the register request of the UE and transmit the register request message to the selected S-CSCF for further processing after selecting the S-CSCF;
the S-CSCF determines initial registration of the UE upon reception of the register request message and requests the HSS for assigning the UE with authentication vectors, which are the same as authentication vectors of a 3G UE in terms their compositions and components, including a five-element vector of a Random Number (RAND), an Expected Response (XRES), an Authentication Token (AUTN), an Integrity Key (IK) and a Ciphering Key (CK). Upon reception of an assignment result from the HSS, the S-CSCF selects one of the authentication vectors to be included in a 401 message of the S-CSCF, removes the XRES item from the authentication vector and transmits the 401 message to the P-CSCF through the I-CSCF, where the 401 message typically includes the RAND, the AUTN, the IK and the CK;
the P-CSCF stores the CK and the IK and thereafter removes the CK and the IK from the authentication vector, and includes the remaining information into the 401 message and transmits it to the UE, where the 401 message primarily includes the RAND and the AUTH;
the UE calculates the CK, the IK and a Response (RES) from an authentication key shared with the network and the received RAND, and also may further process the CK in a selected encryption algorithm. After calculating the RES required for the network, the UE composes, encrypts, integrity-protects and then transmits a new REGISTER request message to the P-CSCF over a secure channel of the P-CSCF. The REGISTER request message includes the RAND, the AUTN and the UE-selected encryption algorithm used for the UE to perform calculation and the calculated authentication result RES;
the P-CSCF performs corresponding decryption on the REGISTER request message upon reception thereof, and if the register request can result from resolution, it indicates that the network and the UE have performed encryption and integrity-protection, and then the I-CSCF transmits the REGISTER request message including the authentication result to the S-CSCF, and upon reception of the REGISTER request message, the S-CSCF compares the RES therein and the previously stored XRES for consistency, and if they are consistent, it indicates that authentication is passed. The S-CSCF transmits to the HSS a Server-Assignment-Request (SAR) for the service registration information on an Initial Filter Criteria (iFC) of the UE, and the HSS updates the UE registration information with “Registered”, stores the domain name information of the S-CSCF and also returns the iFC in a Server-Assignment-Answer (SAA) to the S-CSCF. Then, the S-CSCF transmits a 200 OK message to the UE to indicate successful registration, where the 200 OK message includes a network-designated period of valid registration in second (600000 seconds in the standard of 3GPP 24.229);
the P-CSCF initiates a flow of subscribing a registration period packet of the UE to the S-CSCF upon reception of the 200 OK response to the register request, and upon successful subscription, the S-CSCF returns 200 OK indicating successful subscription. Thus, the UE completes initial registration.
Assumed both a UE1 and a UE2 belong to the same IMS network and both of them support 100rel and Precondition, they can perform a session after performing initial registration described above, and as illustrated in FIG. 2, a session flow is as follows:
the UE1 transmits an INVITE session request to an S-CSCF1 through a P-CSCF1;
the S-CSCF1 transmits a domain name resolution request to a Domain Name Server (DNS) for the IP address of an I-CSCF2, and the S-CSCF1 transmits the INVITE session request to the I-CSCF2 according to the IP address of the I-CSCF2 returned from the DNS;
the I-CSCF2 transmits a Location-Info-Request (LIR) to the HSS through a reference point Cx for the domain name information of an S-CSCF2 bound with the UE2, and the HSS returns a Location-Info-Answer (LIA) including the domain name information of the S-CSCF2 bound with the UE2 through the reference point Cx;
the I-CSCF2 transmits a domain name resolution request to the DNS according to the domain name information of the S-CSCF2 returned from the HSS, and the DNS returns the IP address of the S-CSCF2 to the I-CSCF2;
the I-CSCF2 transmits the INVITE session request to the S-CSCF2 according to the IP address of the S-CSCF2 returned from the DNS, the S-CSCF2 forwards the INVITE session request to the UE2 through a P-CSCF2, and the UE2 transmits a message indicating an ongoing session to the UE1 over a path shown in the steps 10-14 in FIG. 2 to indicate that the UE1 and the UE2 may set up a session flow.
However, if a failure occurs with the I-CSCF2 and/or S-CSCF2 to which the UE2 belongs during the session, as illustrated in FIG. 3, the INVITE session request transmitted from the UE1 can not be transmitted to the UE2, thus failing to switch the session; and also due to a long period of time for renewed registration of the UE, approximately seven days (600000 seconds in the standard of 3GPP 24.229), timely renewed registration of the UE to an available call session control function can not be performed. If the UE2 does not initiates actively any call prior to renewed registration, the core network can not find the failure with the I-CSCF2 and/or S-CSCF2 to which the UE2 belongs, and consequently the UE2 can not be called successfully from any other UE.